1. Field of Invention
The invention relates to a data storage method and, in particular, to a method of storing compressed data.
2. Related Art
Complicated operations often demand for a huge amount of system memory. Therefore, those data had better to be compressed in order to save the use of memory.
A conventional compression method is to allocate a sufficiently large compression work space ComWorkSpace for the compression functional module to store the compressed data. Once the compression functional module is done with its job, a compressed data length, CompressenLength, is returned. The application releases the memory space occupied by the source data and applies from the system for memory NewBuffer with the size of CompressenLength. The compressed data in ComWorkSpace is copied to the applied memory NewBuffer. However, sometimes for complicated operations, no sufficient memory is allocated to store the source data and thus the data cannot be processed because the system memory is seriously fragmented or the system simply does not have sufficient space. Another situation where the data cannot be processed is that the application for a space of the size of CompressenLength is not successful. A conventional solution is to try to use another compression algorithm with a higher compression ratio to compress the source data and to apply again for NewBuffer with the size of CompressenLength. If this method is still not successful, there is no way to compress the data.